home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
tos_updt
/
fmcity
/
palcom
/
script
/
bt_oasys.mx
next >
Wrap
Text File
|
1995-03-24
|
6KB
|
148 lines
//--------------------------------------------------------------------------//
// PALCOM V2.1 L10 //
// 手動通信(OASYS変換) //
// //
// CopyRight(C) 1994/10/20 //
// FUJITSU PERSONAL COMPUTER SYSTEMS LIMITED //
// written by C-cube Soft H.Nakamura //
//--------------------------------------------------------------------------//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//+++ オープンイベントハンドラ +++//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
event @OPEN.EXTERN {
//--- リアルメモリのチェック ---//
if( sys.checkMaxReal() < 1024 * 140 ) {
$saveXsize = dialog.getDefaultXSize();
dialog.setDefaultXSize( 336 );
sys.pushCursor( 80 );
dialog.ask(["━━━━━━━ OASYS文書交換 ━━━━━━━",
"",
" 拡張機能が設定されていません。 ",
" システム設定の拡張機能で「OASYS文書サポート」",
"を設定してください。 ",
""],["確認"] );
sys.popCursor();
dialog.setDefaultXSize( $saveXsize );
return;
}
$sBt = dialog.makeButton( 1, "実行", 0, 0x8012 );
$cBt = dialog.makeButton( 1, "終了", 0, 0x801D );
loop {
$dialogList = ["", 0, -1, -1, $sBt,
["", 1024, [0], [
"━━━━━━━━━━━━━━━━━━━━━",
" OASYS文書交換 ",
"━━━━━━━━━━━━━━━━━━━━━",
""
], [""] ],
["", 1027, [1], ["OASYS文書 → DOSバイナリ",
"DOSバイナリ → OASYS文書"], [1]],
["", 1024, [0], [""], [""] ],
["", $cBt, [0], [""], [""] ],
["", $sBt, [0], [""], [""] ]
];
$saveXsize = dialog.getDefaultXSize();
dialog.setDefaultXSize( 276 );
sys.popCursor();
$ret = dialog.open( $dialogList );
sys.pushCursor(81);
dialog.setDefaultXSize( $saveXsize );
if( list.get1st( $$DIALOG.RETURN ) == $sBt ) { // 実行
if( list.get1st( list.getNth( $$DIALOG.RETURN, 3 )) == 1 ) {
$name = file.autoName( "", 1 ); // OASYS->DOS
$name = list.getLast( str.split( $name, "\\" ));
sys.popCursor();
$ret = dialog.saveFile( "", $name, "", "保存ファイル指定",
"変換","取消" );
sys.pushCursor(81);
if( $ret == #FALSE ) {
continue;
}
mod.oasys( 1, list.get1st( $ret ), list.getNth( $ret, 2 ));
} else { // DOS->OASYS
sys.popCursor();
$ret = dialog.selectFile( "", 0, [],
"変換ファイル指定", "変換","取消" );
sys.pushCursor(81);
if( list.size( $ret ) == 0 ) {
continue;
}
mod.oasys( 0, list.get1st( list.get1st( $ret )), "" );
}
} else {
exit;
}
}
dialog.delButton( $sBt );
dialog.delButton( $cBt );
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//+++ クローズイベントハンドラ +++//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
event @CLOSE.EXTERN {
return;
}
event @ERROR {
//--- OASYS ファイル変換のエラーの場合は独自に処理する ---//
if( list.getNth( $$ERROR, 2 ) == "OASYSファイル変換" ) {
$errMsg = list.get1st( list.getNth( $$ERROR, 4 ));
$errNo = data.toNumber( str.right( $errMsg, str.length($errMsg)-12 ));
if((( $errNo >= 1 )&&( $errNo <= 7 ))||
(( $errNo >= 54 )&&( $errNo <= 57 ))||
( $errNo == 166 )) {
$errMsg = " ファイルの指定に誤りがあります。 ";
$errTyp = 0;
} elif((( $errNo >= 50 )&&( $errNo <= 53 ))||
( $errNo == 173 )||( $errNo == 178 )||( $errNo == 186 )) {
$errMsg = " ドライブの準備が出来ていません。 ";
$errTyp = 1;
} elif(( $errNo == 60 )||( $errNo == 61 )||( $errNo == 161 )) {
$errMsg = " 書き込み保護がされています。 ";
$errTyp = 1;
} elif(( $errNo == 62 )||( $errNo == 63 )||( $errNo == 160 )||
( $errNo == 174 )||( $errNo == 200 )||( $errNo == 201 )) {
$errMsg = " 空き容量が不足しています。 ";
$errTyp = 0;
} elif(( $errNo == 100 )||( $errNo == 153 )||( $errNo == 165 )||
( $errNo == 184 )||( $errNo == 185 )) {
$errMsg = "OASYS文書でないか、媒体の形式が違います。";
$errTyp = 0;
} elif(( $errNo == 65 )||( $errNo == 66 )||( $errNo == 187 )) {
$errMsg = " MS-DOS形式の媒体ではありません。 ";
$errTyp = 0;
} elif(( $errNo >= 106 )&&( $errNo <= 109 )) {
$errMsg = " 部分的に変換出来ないデータがありました。 ";
$errTyp = 0;
} else {
$errMsg = str.join(["OASYS変換エラー ",
data.toString( $errNo )], "" );
if( str.length( $errMsg ) != 44 ) {
$errMsg = str.join([str.left(" ",
22 - ( str.length( $errMsg)/2 )),
$errMsg], "" );
}
$errTyp = 0;
}
table( $errTyp ) {
0 { $error = [-1,"━━━━━━ OASYS文書交換 ━━━━━━",
$errMsg,[],[],["確認"]];
dialog.error( $error );
event.resumeError( 1 );
}
1 { $error = [-1,"━━━━━━ OASYS文書交換 ━━━━━━",
$errMsg,[],[], ["中止","再実行"]];
if( dialog.error( $error ) == 1 ) {
event.resumeError( 0 );
} else {
event.resumeError( 1 );
}
}
}
}
local.errorFunc();
event.mainLoop();
}